EVALUACIÓN
JERÁRQUICA
DESCENDENTE

“Hay dos formas puras de la intuición sensible, como principios de conocimiento a priori, el espacio y el tiempo” (Kant)

“Hasta el espacio y el tiempo no solo no son reales, sino que son proyecciones que vienen de algo más profundo y misterioso” (Fred Alan Wolf)

“Cuando se abran las puertas del espacio, se abrirán también las puertas del tiempo” (Einstein)



Espacio abstracto

Las expresiones del lenguaje residen (o “viven”) en un espacio abstracto. Este espacio, inicialmente, es el vacío y no tiene estructura. La estructura va asociada a las relaciones entre las expresiones, no al espacio en sí. Esto difiere del modelo von Neumann de la arquitectura de los ordenadores o la teórica máquina de Turing, donde la estructura es lineal.

El espacio abstracto no es un espacio geométrico. Es un espacio “mental”, en el sentido de que es un hiperespacio sin dimensiones, donde las expresiones se conectan y relacionan. Es un espacio flexible, donde no hay métrica (distancias), aunque podría definirse, si así se desea.


Tiempo abstracto

El tiempo abstracto es el tiempo asociado a la evaluación de secuencias, donde cada unidad de tiempo abstracto se corresponde con cada componente de la secuencia. Por ejemplo, la secuencia (a b c) se evalúa en los tiempos abstractos 1, 2 y 3.

En los conjuntos el tiempo abstracto es 1, pues todos los componentes se evalúan en paralelo.

Un tiempo abstracto puede tener subtiempos abstractos, solo en el caso de las secuencias. Por ejemplo, en la secuencia (a (u v) b) , los tiempos abstractos son 1, 2/1, 2/2 y 3.


Evaluación de expresiones

Todas las expresiones, activas o pasivas, se evalúan, difuminándose así la distinción clásica entre “datos” y “procesos”.

Las expresiones constructivas se evalúan de forma inmediata, a menos que explícitamente se indique lo contrario mediante el operador de “no evaluación” (°), que introduce un mecanismo de evaluación diferida. Ejemplos:
  1. (x = 3)
    (y = 4)
    x*y // ev. 12


  2. (z = (x+y)º) // ev. (z = x+y)
    (x = 3)
    (y = 4)
    z // ev. 7

Una expresión constructiva puede evaluarse total o parcialmente. Ejemplo: Si no puede evaluarse, la expresión se autoevalúa, por ejemplo: Las expresiones descriptivas no se evalúan a menos que: Observaciones:
Prioridad de evaluación de las expresiones

La evaluación de expresiones se realiza siempre de forma jerárquica descendente, es decir, en cascada o de arriba-abajo (top-down). No podía ser de otra manera: lo superior prevalece sobre lo inferior. Primero se intentan evaluar las expresiones más externas. Si no se pueden evaluar, entonces se va descendiendo evaluando las internas. En cada nivel, las expresiones se evalúan de izquierda a derecha, a menos que se utilice el operador de evaluación inversa (~).

Ejemplos:
  1. (a=1 b=2)
    (ab° = x) // ev. (ab = x)
    (ab = 3) // ev. (x = 3) ( no se evalúa como (12 = 3) )


  2. (a=1 b=2)
    ((a+b)° = x) // ev. (a+b = x)
    a+b // ev. x (no se evalúa como 3)


  3. (2^3^4^5)~ // ev. (((5^4)^3)^2)

    Se aplica primero el operador de inversión, el más externo.

  4. (f!)★3 // rep. (f! f! f!)

    Se aplica primero el operador de repetición, el más externo.

  5. +⊣(a b*c d) // rep. (a + b*c + d)

    Se aplica primero el operador de intercalación, el más externo.

  6. (a[x y])☆2 // rep. a[x y] a[x y] rep. (ax ay) (ax ay)

    En este caso tenemos dos operadores descriptivos (distribución y repetición).

  7. 3*a+2*b se interpreta como (3*a + 2)*b

    Si se quiere que se interprete como (3*a + 2*b) hay que inserter blancos separadores.

La secuencia temporal de evaluación. El tiempo abstracto o computacional

El proceso de evaluación jerárquica descendente se realiza de forma automática.

Ejemplo: Este proceso de evaluación se puede desglosar de forma lineal en el tiempo. Tiempo que denominamos “computacional” y que corresponde a los diferentes etapas del proceso de evaluación:

Tiempo
comp.
ExpresiónSemántica
0xExpresión inicial
1(a b)Primer nivel de evaluación
2(1 u 2 v)Segundo nivel de evaluación
3(1 88 2 99)Expresión final

El árbol de evaluación se recorre en amplitud, no en profundidad, es decir, en cada nivel se efectúan todas las sustituciones antes de pasar al siguiente.

Si se hubiera evaluado recorriendo el árbol en profundidad, la secuencia temporal de evaluación habría sido mayor en tiempo computacional:

Tiempo
comp.
Expresión
0x
1(a b)
2(1 u b)
3(1 88 b)
4(1 88 2 v)
5(1 88 2 99)

El tiempo computacional es relativo a cada expresión que se evalúa. No existe el tiempo computacional absoluto.


La analogía física

Puede establecerse una analogía entre el proceso de evaluación/computación y los procesos físicos: